Faster Algorithms for Minimum Cycle Basis in Directed Graphs
نویسندگان
چکیده
We consider the problem of computing a minimum cycle basis in a directed graph. The input to this problem is a directed graph G whose edges have nonnegative weights. A cycle in this graph is actually a cycle in the underlying undirected graph with edges traversable in both directions. A {−1, 0, 1} edge incidence vector is associated with each cycle: edges traversed by the cycle in the right direction get 1 and edges traversed in the opposite direction get −1. The vector space over Q generated by these vectors is the cycle space of G. A set of cycles is called a cycle basis of G if it forms a basis for this vector space. We seek a cycle basis where the sum of weights of the cycles is minimum. The current fastest algorithm for computing a minimum cycle basis in a directed graph with m edges and n vertices runs in Õ(mω+1n) time, where ω < 2.376 is the exponent of matrix multiplication. We present an O(m3n + m2n2 logn) algorithm. We obtain our algorithm by using fast matrix multiplication over rings and an efficient extension of Dijkstra’s algorithm to compute a shortest cycle in G whose dot product with a function on its edge set is nonzero. We also present a simple O(m2n + mn2 logn) Monte Carlo algorithm. The problem of computing a minimum cycle basis in an undirected graph has been well studied. In this problem a {0, 1} edge incidence vector is associated with each cycle and the vector space over Z2 generated by these vectors is the cycle space of the graph. The fastest known algorithm for computing a minimum cycle basis in an undirected graph runs in O(m2n+mn2 logn) time and our randomized algorithm for directed graphs matches this running time.
منابع مشابه
Minimum Cycle Bases in Graphs Algorithms and Applications
A cycle basis of a graph is a family of cycles which spans all cycles of the graph. In an undirected graph, a cycle is simply a set of edges with respect to which every vertex has even degree. We view cycles as vectors indexed by edges. The entry for an edge is one if the edge belongs to the cycle and is zero otherwise. Addition of cycles corresponds to vector addition modulo 2 (symmetric diffe...
متن کاملFaster Randomized and Deterministic Algorithms for Minimum Cycle Bases in Directed Graphs
We consider the problem of computing a minimum cycle basis in a directed graph. The input to this problem is a directed graph G whose edges have non-negative weights. A cycle in this graph is actually a cycle in the underlying undirected graph with edges traversable in both directions. A {−1,0,1} edge incidence vector is associated with each cycle: edges traversed by the cycle in the right dire...
متن کاملAn Õ(m2n) Randomized Algorithm to Compute a Minimum Cycle Basis of a Directed Graph
We consider the problem of computing a minimum cycle basis in a directed graph G. The input to this problem is a directed graph whose arcs have positive weights. In this problem a 1 0 1 incidence vector is associated with each cycle and the vector space over generated by these vectors is the cycle space of G. A set of cycles is called a cycle basis of G if it forms a basis for its cycle space. ...
متن کاملA Polynomial Time Algorithm for Minimum Cycle Basis in Directed Graphs
We consider the problem of computing a minimum cycle basis in a directed graph G with m arcs and n vertices. The arcs of G have non-negative weights assigned to them. We give an Õ(mn) algorithm, which is the first polynomial time algorithm for this problem. We also present an Õ(mn) randomized algorithm. The problem of computing a minimum cycle basis in an undirected graph has been well-studied....
متن کاملA Faster Deterministic Algorithm for Minimum Cycle Basis in Directed Graphs
We consider the problem of computing a minimum cycle basis in a directed graph. The input to this problem is a directed graph G whose edges have non-negative weights. A cycle in this graph is actually a cycle in the underlying undirected graph with edges traversable in both directions. A f 1;0;1g edge incidence vector is associated with each cycle: edges traversed by the cycle in the right dire...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- SIAM J. Comput.
دوره 38 شماره
صفحات -
تاریخ انتشار 2008